package com.xq.jltx.learnflow


/**
 * @author aidenquan
 *         Created by junlintianxia on 2021/08/11.
 */
fun main(args: Array<String>) {
    simpleSequence().forEach {
        println(it)
    }
}

/**
 * 序列生成器,这段代码输出相同的数字，但在打印每个数字之前等待 100 毫秒
 * delay不能在 SequenceScope 的扩展成员当中被调用，因而不能在序列生成器的协程体内调用了
 */
fun simpleSequence(): Sequence<Int> = sequence {
    (1..3).forEach {
        Thread.sleep(100) // 假装我们正在计算
        yield(it)
//        delay(100)//编译报错
    }
}